Iterating over Collections (Each, Collect)

Computer Programming - গ্রুভি (Groovy) Collections in Groovy (কালেকশনস) |
192
192

Groovy তে Collections এর উপর Iterating (Each, Collect)

Groovy তে collections (যেমন: List, Map, Set) এর উপর iteration করার জন্য each এবং collect খুবই জনপ্রিয় এবং শক্তিশালী মেথড। এই দুটি মেথড ব্যবহার করে আপনি সহজেই একটি collection এর প্রতিটি উপাদান পেতে পারেন এবং সেই উপাদানগুলির উপর বিভিন্ন ধরনের অপারেশন করতে পারেন।


1. each মেথড

Groovy তে each একটি গুরুত্বপূর্ণ মেথড যা একটি collection এর প্রতিটি উপাদান নিয়ে কাজ করে। এটি একটি closure গ্রহণ করে এবং প্রতিটি উপাদানের উপর সেই closure প্রয়োগ করে।

each মেথডের ব্যবহার:

each মেথড সাধারণত একটি List, Set বা Map এর উপর iteration করতে ব্যবহৃত হয়।

  • List এর ক্ষেত্রে each মেথড প্রতিটি উপাদান নিয়ে closure কল করবে।
  • Map এর ক্ষেত্রে, এটি key-value পেয়ার নিয়ে closure কল করবে।

উদাহরণ (List এর উপর each):

def numbers = [1, 2, 3, 4, 5]

numbers.each { number ->
    println "Number: $number"
}

আউটপুট:

Number: 1
Number: 2
Number: 3
Number: 4
Number: 5

এখানে, each মেথড numbers List এর প্রতিটি উপাদান নিয়ে closure কল করেছে এবং প্রতিটি উপাদান number ভেরিয়েবলের মধ্যে এসেছে এবং আউটপুট দেখানো হয়েছে।

উদাহরণ (Map এর উপর each):

def person = [name: "John", age: 30, city: "New York"]

person.each { key, value ->
    println "$key: $value"
}

আউটপুট:

name: John
age: 30
city: New York

এখানে, each মেথড key-value পেয়ার নিয়ে closure কল করছে, এবং প্রতি key-value পেয়ারকে আউটপুটে দেখানো হয়েছে।


2. collect মেথড

Groovy তে collect মেথড একটি List বা Set এর উপর iteration করতে ব্যবহৃত হয় এবং এটি একটি নতুন collection তৈরি করে। collect মেথডের মাধ্যমে আপনি collection এর উপাদানগুলির উপর কোনো অপারেশন প্রয়োগ করে একটি নতুন collection তৈরি করতে পারেন। এটি সাধারণত transforming বা mapping অপারেশনের জন্য ব্যবহৃত হয়।

collect মেথডের ব্যবহার:

collect মেথড একটি নতুন collection ফেরত দেয়, যেখানে প্রতিটি উপাদান নতুন মানের ভিত্তিতে তৈরি হয়।

উদাহরণ (List এর উপর collect):

def numbers = [1, 2, 3, 4, 5]

def squares = numbers.collect { it * it }

println squares

আউটপুট:

[1, 4, 9, 16, 25]

এখানে, collect মেথড প্রতিটি উপাদানকে স্কয়ারে রূপান্তর করেছে এবং নতুন একটি List squares তৈরি করেছে।

উদাহরণ (Map এর উপর collect):

def person = [name: "John", age: 30, city: "New York"]

def uppercaseKeys = person.collect { key, value -> key.toUpperCase() }

println uppercaseKeys

আউটপুট:

[NAME, AGE, CITY]

এখানে, collect মেথড key গুলিকে uppercase তে রূপান্তর করেছে এবং একটি নতুন List তৈরি করেছে, যাতে শুধু uppercase keys রয়েছে।

collect ব্যবহার করে Map তৈরি করা:

collect ব্যবহার করে আপনি নতুন Map তৈরি করতে পারেন, যেখানে নতুন key-value পেয়ার তৈরি হয়।

def numbers = [1, 2, 3, 4, 5]

def squaredMap = numbers.collectEntries { number -> 
    [(number): number * number]
}

println squaredMap

আউটপুট:

[1:1, 2:4, 3:9, 4:16, 5:25]

এখানে, collectEntries মেথড ব্যবহার করে number এর উপর কাজ করে নতুন একটি Map তৈরি করা হয়েছে, যেখানে প্রতিটি number এর স্কয়ারকে value হিসেবে দেয়া হয়েছে।


each এবং collect এর মধ্যে পার্থক্য

ফিচারeachcollect
ফাংশনউপাদানগুলির উপর কাজ করার জন্য ব্যবহার হয়।নতুন collection তৈরি করতে ব্যবহার হয়।
রিটার্ন ভ্যালুকোনো রিটার্ন ভ্যালু দেয় না, শুধুমাত্র iteration করে।নতুন collection (List বা Set) ফেরত দেয়।
ব্যবহারসাধারণত side-effects তৈরি করার জন্য, যেমন প্রিন্টিং বা মান পরিবর্তন।collection এর উপাদানগুলির transformation বা mapping করতে।

সারসংক্ষেপ

  1. each মেথড একটি collection এর প্রতিটি উপাদান নিয়ে কাজ করে এবং সাধারণত কোনো side effect তৈরি করে (যেমন প্রিন্টিং, বা কিছু পরিবর্তন)। এটি কোনও নতুন collection তৈরি করে না।
  2. collect মেথড একটি নতুন collection তৈরি করে, যেখানে মূল collection এর উপাদানগুলির উপর কোনো transformation বা mapping করা হয়।
  3. collect মেথড একটি নতুন collection ফেরত দেয়, যেটি original collection এর উপাদানগুলির ভিত্তিতে তৈরি হয়।

এই দুটি মেথড Groovy তে collection এর উপর iteration এবং transformation করার জন্য খুবই কার্যকরী এবং সহজ।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion